# Makefile

# 定义编译器
CC = gcc

# 定义编译标志（例如启用所有警告和调试信息）
CFLAGS = -Wall -g

# 定义服务器端链接标志，包括需要链接的库
LDFLAGS_SERVER = -lsqlite3

# 定义客户端链接标志，包括需要链接的库
LDFLAGS_CLIENT = -lpthread

# 定义第一个目标及其依赖项   服务器
TARGET1 = app1
SRCS1 = main.c network.c tool.c log.c login.c database.c merchant.c user.c

# 定义第二个目标及其依赖项  客户端
TARGET2 = app2
SRCS2 = clientmain.c client.c log.c clientlogin.c clientmenu.c client_merchant.c client_user_login_success_tool.c

# 默认规则，指定要构建的目标
all: $(TARGET1) $(TARGET2)

# 构建第一个目标 服务器
$(TARGET1): $(SRCS1)
	$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS_SERVER) 

# 构建第二个目标 客户端
$(TARGET2): $(SRCS2)
	$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS_CLIENT) 

# 清理生成的文件
clean:
	rm -f $(TARGET1) $(TARGET2) app*

# 打印帮助信息
help:
	@echo "Usage:"
	@echo "  make all     Build both targets (default)"
	@echo "  make app     Build only the 'app' target"
	@echo "  make app2    Build only the 'app2' target"
	@echo "  make clean   Remove generated files"